<template>
    <el-dialog :title="!dataForm.id ? '新建' :  isDetail ? '详情':'编辑'"
               :close-on-click-modal="false"
               :visible.sync="visible" class="JADP-dialog JADP-dialog_center" lock-scroll
               width="600px">
    <el-row :gutter="15" class="">
    <el-form ref="elForm" :model="dataForm" :rules="rules" size="small" label-width="100px" label-position="right"
  :disabled="!!isDetail" >
            <el-col :span="24">
        <el-form-item  label="名称" prop="name" >
        <el-input  v-model=" dataForm.name" placeholder="请输入"  clearable  :style='{"width":"100%"}' >
    </el-input>
        </el-form-item>
    </el-col>

            <el-col :span="24">
        <el-form-item  label="下拉选择" prop="type" >
        <el-select  v-model=" dataForm.type" placeholder="请选择"  clearable  :style='{"width":"100%"}' :multiple="false"  >
    </el-select>
        </el-form-item>
    </el-col>

            <el-col :span="24">
        <el-form-item  label="部门" prop="depid" >
        <dep-select  v-model=" dataForm.depid" placeholder="请选择"  >
    </dep-select>
        </el-form-item>
    </el-col>

    </el-form>
</el-row>
    <span slot="footer" class="dialog-footer">
        <el-button @click="visible = false">取 消</el-button>
        <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button>
    </span>
    </el-dialog>
</template>
<script>
    import request from '@/utils/request'
    import {getDictionaryDataSelector} from '@/api/systemData/dictionary'
    import {previewDataInterface} from '@/api/systemData/dataInterface'

    export default {
        components: {},
        props: [],
        data() {
            return {
                loading:false,
                visible: false,
                isDetail: false,
                dataForm: {
                        name :undefined,
                        type :"",
                    depid: undefined,
                        organizeId:""
        },
            rules: {
            },
                        typeOptions:[],
        }
        },
        computed: {},
        watch: {},
        created() {
                        this.gettypeOptions();
        },
        mounted() {
        },
        methods: {
                        gettypeOptions() {
                            getDictionaryDataSelector('038d293fca544c86afa3f2bc65421fd7').then(res => {
                                this.typeOptions = res.data.list
                            })
                        },
            init(id, isDetail) {
                this.dataForm.id = id || 0;
                this.visible = true;
                this.isDetail = isDetail || false;
                this.$nextTick(() => {
                    this.$refs['elForm'].resetFields();
                    if (this.dataForm.id) {
                        this.loading=true
                        request({
                            url: `/api/example/Tb_sensor/${this.dataForm.id}?organizeId=${this.$store.getters.organizeId}`,
                            method: 'get'
                        }).then(res => {
                            this.dataForm = res.data
                          this.loading=false
                        })
                    }
                })
            },
            // 表单提交
            dataFormSubmit() {
                this.$refs['elForm'].validate((valid) => {
                    if (valid) {
                        this.dataForm.organizeId = this.$store.getters.organizeId;

                        if (!this.dataForm.id) {
                            request({
                                url: `/api/example/Tb_sensor`,
                                method: 'post',
                                data: this.dataForm,
                            }).then((res) => {
                                this.$message({
                                    message: res.msg,
                                    type: 'success',
                                    duration: 1000,
                                    onClose: () => {
                                        this.visible = false,
                                                this.$emit('refresh', true)
                                    }
                                })
                            })
                        } else {
                            request({
                                url: '/api/example/Tb_sensor/' + this.dataForm.id,
                                method: 'PUT',
                                data: this.dataForm
                            }).then((res) => {
                                this.$message({
                                    message: res.msg,
                                    type: 'success',
                                    duration: 1000,
                                    onClose: () => {
                                        this.visible = false
                                        this.$emit('refresh', true)
                                    }
                                })
                            })
                        }
                    }
                })
            },
        }
    }
</script>




